String 转换成 XML - Ruby and Java.. - ITeye技术网站
创建时间:
2015/11/9 9:26
来源:
http://sonyfe25cp.iteye.com/blog/609674
Java代码
一、使用最原始的javax.xml.parsers,标准的jdk api
// 字符串转XML
String xmlStr = \
"......\"
;
StringReader sr =
new
StringReader(xmlStr);
InputSource is =
new
InputSource(sr);
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder=factory.newDocumentBuilder();
Document doc = builder.parse(is);
//XML转字符串
TransformerFactory tf = TransformerFactory.newInstance();
Transformer t = tf.newTransformer();
t.setOutputProperty(\
"encoding\",\"GB23121\"
);
//解决中文问题,试过用GBK不行
ByteArrayOutputStream bos =
new
ByteArrayOutputStream();
t.transform(
new
DOMSource(doc),
new
StreamResult(bos));
String xmlStr = bos.toString();
这里的XML DOCUMENT为org.w3c.dom.Document
二、使用dom4j后程式变得更简单
// 字符串转XML
String xmlStr = \
"......\"
;
Document document = DocumentHelper.parseText(xmlStr);
// XML转字符串
Document document = ...;
String text = document.asXML();
这里的XML DOCUMENT为org.dom4j.Document
三、使用JDOM
JDOM的处理方式和第一种方法处理很类似
//字符串转XML
String xmlStr = \
".....\"
;
StringReader sr =
new
StringReader(xmlStr);
InputSource is =
new
InputSource(sr);
Document doc = (
new
SAXBuilder()).build(is);
//XML转字符串
Format format = Format.getPrettyFormat();
format.setEncoding(\
"gb2312\"
);
//配置xml文档的字符为gb2312,解决中文问题
XMLOutputter xmlout =
new
XMLOutputter(format);
ByteArrayOutputStream bo =
new
ByteArrayOutputStream();
xmlout.output(doc,bo);
String xmlStr = bo.toString();
这里的XML DOCUMENT为org.jdom.Document
四、JAVASCRIPT中的处理
//字符串转XML
var xmlStr = \
".....\"
;
var xmlDoc =
new
ActiveXObject(\
"Microsoft.XMLDOM\"
);
xmlDoc.async=
false
;
xmlDoc.loadXML(xmlStr);
//能够处理这个xmlDoc了
var name = xmlDoc.selectSingleNode(\
"/person/name\"
);
alert(name.text);
//XML转字符串
var xmlDoc = ......;
var xmlStr = xmlDoc.xml
这里的XML DOCUMENT为javascript版的XMLDOM